//
// Created by fh on 2021/6/2.
//

#ifndef CDEMO_SQQUEUE_H
#define CDEMO_SQQUEUE_H

#include <stdio.h>
#include <stdlib.h>
#include "CustomDefine.h"

#define MAXSIZE 10
/* 循环队列的顺序存储结构 */
typedef struct {
    int data[MAXSIZE];
    int front;/* 头指针 */
    int rear;/* 尾指针，若队列不为空，指向队列元素的下一个位置 */
} SqQueue;

/* 初始化一个空队列 */
Status SqQueueInitQueue(SqQueue *q);
/* 返回q的元素个数，也就是队列的当前长度 */
int SqQueueQueueLength(SqQueue q);
/* 若队列未满，则插入元素e为q新的队尾元素 */
Status SqQueueEnQueue(SqQueue *q,int e);
/* 若队列不空,则删除q中队头元素,用e返回其值 */
Status SqQueueDeQueue(SqQueue *q,int *e);
/* 遍历循环队列 */
Status SqQueueDisplay(SqQueue q);
/* 测试demo */
void sqQueueTestDemo();



#endif //CDEMO_SQQUEUE_H
